Vivado的Implementation都包含哪些步骤?

您所在的位置:网站首页 vivado route design Vivado的Implementation都包含哪些步骤?

Vivado的Implementation都包含哪些步骤?

2023-04-06 23:12| 来源: 网络整理| 查看: 265

作者:张大侠,文章来源:傅里叶的猫微信公众号

Vivado的Implementation主要有三大步:

opt_design,会生成opt_desgin.dcp place_design,会生成place_design.dcp route_design,会生成route_design.dcp

如果再详细一点:

opt_design

在这一步,Vivado会对综合后的网表文件做一些优化,删除一些无用的或者Vivado认为可以冗余的逻辑,但如果代码中使用了DONT_TOUCH 和MARK_DEBUG,在此步骤就不会被优化掉。

power_opt_design

这一步可以在opt_design后执行,也可以在place_design后执行,该步骤主要是用Xilinx的智能门控时钟方案来减少FPGA设计中的动态功耗,但并不会改变时钟和逻辑的设计。

place_design

在布局时,Vivado的布局器会优先考虑下面三点:

Timing Slace Wirelength Congestion

在布局之前,Vivado会进行DRC检查。但比较扯淡的是,如果DRC发现错误,很多情况下,下面的步骤并不会停止,直到生成bit文件时才报错,会让工程师误以为这一步没有问题。

phys_opt_design

该步骤主要进行的优化如下:

对于高扇出的网络,如果在WNS的10%内具有负的裕量,则会考虑复制以降低高扇出; 对于临近的负载进行聚合,并为每个负载的集合复制一个驱动; 重新分析时序,如果时序有优化则会改动逻辑部分; 继续分析是否有高扇出,如果还有,则继续复制电路以降低高扇出。

route_design

Vivado的router有两种工作模式:

Normal模式,这是最常用也是默认的模式,在该模式下,布局器会以增量编译的方式对读入的文件进行布局,如果文件已经进行了部分布局,那么布局器会在此基础上继续布局,而不是从头开始。 Re-Entrant模式,当我们要跑多个routing且各个routing之间有关联操作时使用该模式。如果是非Re-Entrant模式,布局器执行完成后,会清除内存空间,每次开始的时候都需要初始化。

  Vivado会优先对全局资源进行布线,比如时钟、复位、I/O和其他专用资源;接下来就是根据时序的紧张程度进行布线,优先布线时序紧张的路径。

  这里需要注意的是,在某些手动锁定的布线约束下,router通常无法对某些信号进行最佳布线,这往往是因为时序约束不规范导致的。如果我们仔细观察那些不是最优路径的网络,我们会发现问题经常出在时序约束上。

  所以最好的方式就是在routing之前,查看place_design的时序报告,检查时序约束是否正确。所以对于大型工程,采用non-project方式可能更好一些,因为project模式下,我们直接点击Implementation就可以执行完所有的步骤了,往往中间的结果我们也不会很在意。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3